#导包(将对象层api封装的接口类导入进来)
from api.login import LoginAPI

# 创建测试类
class TestLoginAPI:
    uuid= None
    #前置处理
    def setup_method(self):
        # 前置处理里面做的第一件事就是把第一步导入进来的接口实例化为一个对象
        self.login_api = LoginAPI()
        # 前置处理里面做的第二件事，如果下面的测试用例方法需要用到动态值的话，把动态值提取出来
        # 将验证码产生的uuid提取出来
        resp = self.login_api.get_verify_code()#拿到验证码接口的完整响应
        TestLoginAPI.uid = resp.json().get("uuid")#拿到uuid的值
    # 后置处理
    def teardown_method(self):
        pass

    # 编写测试用例方法
    # 用例1：登陆成功
    def test01_success(self):
        login_data = {"username": "admin", "password": "HM_2023_test", "code": "2", "uuid": TestLoginAPI.uuid}
        resp = self.login_api.login(test_data=login_data)
        #     编写断言判断响应结果是否符合预期
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言code值是否为200
        assert 200 == resp.json().get("code")
        # 断言”成功“是否在响应文本中
        assert "成功" in resp.text

    # 登录失败（用户名为空）
    def test02_without_username_empty(self):
        pass

    # 登录失败（未注册的用户名）
    def test03_username_not_exist(self):
        pass

